package coc.core.filter;

import java.util.BitSet;

/**
 * 内存布隆过滤器。
 */
public class MemoryBloomFilter extends BloomFilter {
	private BitSet bitSet;

	/**
	 * 构造方法。
	 * 
	 * @param collisionRate
	 *            允许碰撞率
	 * @param elementCount
	 *            预计存放元素数量
	 */
	public MemoryBloomFilter(Double collisionRate, Integer elementCount) {
		super(collisionRate, elementCount);
		bitSet = new BitSet(bitSetSize);
	}

	@Override
	protected Boolean getBit(Integer offset) {
		return bitSet.get(offset);
	}

	@Override
	protected void setBit(Integer offset, Boolean value) {
		bitSet.set(offset, value);
	}
}
